ARTICLES > PHP

ดึงภาพจาก Instagram มาแสดงบนเว็บไซต์ด้วย PHP Turn Back

2016-08-09 19:10:34

1. ลำดับแรกคุณต้องมี Account ของ Instagram ก่อนนะครับ  จากนั้นเข้าไปที่หน้านี้เลย https://www.instagram.com/developer

2. จากนั้นเลือก Manage Clients  และกดปุ่ม Register a new client

 

3. กรอกรายละเอียดที่จำเป็น ในแถบ Detail

 

4. เสร็จแล้วในหน้า Security ให้ uncheck หน้าข้อความ Disable implicit OAuth:

 

5. เมื่อทำการ register เสร็จเรียบร้อย จะได้ Client ID และ Secret code มา ให้นำมาใช้ดังนี้

https://instagram.com/oauth/authorize/?client_id=______________&redirect_uri=______________&response_type=token

*redirect_uri ใช้เป็นเว็บไซต์เราที่สมัคร  หรือใช้ localhost แทนก็ได้

จากนั้นนำ url ข้างบนไปเปิดใน browser จะมีหน้าหน้าต่างให้ยืนยัน ให้กด Auth ผ่านไปครับ
หากทุกอย่าง work จะมีการ redirect กลับไปที่ uri ที่เราใส่ค่าไว้ด้านบน

localhost/#access_token=_______

6. copy รหัส ที่ตามหลังคำว่า access_token= มาเก็บไว้ กับ code ดังนี้

$access_token="_ACCESS_TOKEN_ID_";
$photo_count=10; // จำนวนรูปภาพที่ต้องการดึงมาแสดง
     
$json_url="https://api.instagram.com/v1/users/self/media/recent/?";
$json_url.="access_token={$access_token}&count={$photo_count}";
 
$json_data = file_get_contents($json_url);
$obj = json_decode($json_data, true, 512, JSON_BIGINT_AS_STRING); // PHP 5.4 ขึ้นไป
 
 
foreach ($obj['data'] as $post) {
     
    echo $post['caption']['text'];
 
    echo $post['link'];
 
    echo str_replace("http://", "https://", $post['images']['low_resolution']['url']); // url ของรูปภาพขนาดเล็กสุด
 
   // ภาพมี 3 ขนาดคือ low_resolution, standard_resolution, thumbnail, 
 
     
    // ดู key,value ทั้งหมดจาก json นะครับ
    // https://api.instagram.com/v1/users/self/media/recent/?access_token=___&count=1
}

 

ตัวอย่าง

How to get photo from recently instagram

Turn Back